package com.coderdream.chapter14.chainofresponsibility.sample;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Support alice = new NoSupport("Alice");
		Support bob = new LimitSupport("Bob", 100);
		Support charlie = new SpecialSupport("Charlie", 429);
		Support diana = new LimitSupport("Diana", 200);
		Support elmo = new OddSupport("Elmo");
		Support fred = new LimitSupport("Fred", 300);

		// 形成链
		alice.setNext(bob).setNext(charlie).setNext(diana).setNext(elmo)
				.setNext(fred);

		// 发生各种问题
		for (int i = 0; i < 500; i += 33) {
			alice.support(new Trouble(i));
		}
	}

}
